GtkIconTheme: a small optimization
authorMatthias Clasen <mclasen@redhat.com>
Wed, 1 Jun 2011 00:29:53 +0000 (20:29 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 1 Jun 2011 00:29:53 +0000 (20:29 -0400)
John Lindgren points out in bug 650202 that using judicious
use of g_key_file_has_key() can save some cycles in application
startup.

gtk/gtkicontheme.c

index d3471d6ee8d412444d87897079a083aa5a15da32..ad55d02537c4286650fab94ae6ff282fe13facb7 100644 (file)
@@ -2570,32 +2570,20 @@ theme_subdir_load (GtkIconTheme *icon_theme,
       g_free (context_string);
     }
 
-  max_size = g_key_file_get_integer (theme_file, subdir, "MaxSize", &error);
-  if (error)
-    {
-      max_size = size;
-
-      g_error_free (error);
-      error = NULL;
-    }
-
-  min_size = g_key_file_get_integer (theme_file, subdir, "MinSize", &error);
-  if (error)
-    {
-      min_size = size;
+  if (g_key_file_has_key (theme_file, subdir, "MaxSize", NULL))
+    max_size = g_key_file_get_integer (theme_file, subdir, "MaxSize", NULL);
+  else
+    max_size = size;
 
-      g_error_free (error);
-      error = NULL;
-    }
-  
-  threshold = g_key_file_get_integer (theme_file, subdir, "Threshold", &error);
-  if (error)
-    {
-      threshold = 2;
+  if (g_key_file_has_key (theme_file, subdir, "MinSize", NULL))
+    min_size = g_key_file_get_integer (theme_file, subdir, "MinSize", NULL);
+  else
+    min_size = size;
 
-      g_error_free (error);
-      error = NULL;
-    }
+  if (g_key_file_has_key (theme_file, subdir, "Threshold", NULL))
+    threshold = g_key_file_get_integer (theme_file, subdir, "Threshold", NULL);
+  else
+    threshold = 2;
 
   for (d = icon_theme->priv->dir_mtimes; d; d = d->next)
     {